package projeto;
import java.io.Serializable;
import java.util.*;

 
public class Item implements Serializable {
       
        /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
		private String titulo;
        private String autor;
        double classificacao;
        List<String> comentario;
        /**
         * Construtor de Item.
         * @param titulo Titulo do Item.
         * @param autor Autor do Item.
         * @throws Exception Excecao lancada se autor ou titulo for invalido.
         */
        public Item(String titulo, String autor) throws Exception{
        	if (titulo == null || titulo.equals("")){
        		throw new Exception("Nome de titulo Invalido");
        	}
        	else if (autor == null || autor.equals("")){
        		throw new Exception("Nome de autor Invalido");
        	}
        	this.autor = autor;
        	this.titulo = titulo;
        }
       /**
        * Retorna a lista de comentarios
        * @return lista de comentarios
        */
        public List<String> getComentario() {
			return comentario;
		}
        /**
         * Retorna o titulo da obra
         * @return titulo da obra
         */
		public String getTitulo() {
                return titulo;
        }
		/**
		 * Retorna o autor da obra
		 * @return autor da obra
		 */
        public String getAutor() {
                return autor;
        }
        /**
         * Retorna a classificacao da obra
         * @return classificacao da obra
         */
        public double getClassificacao() {
                return classificacao;
        }
        /**
         * Muda a classificacao da obra
         * @param classificacao nova classificacao
         */
        public void setClassificacao(double classificacao) {
                this.classificacao = classificacao;
        }
        /**
         * Adiciona comentario ao item.       
         * @param comment Novo comentaria a ser adicionado.
         */
        public void adicionaComentario(String comment){
                comentario.add(comment);
        }
 
}